define(function(require, exports, module) {
	
	require("form");
	var validator = require("validator");
	
	module.exports = function() {
		var params = {};
		var node = {};
		return {
			//国际化
			data: {
				title:$.i18n.prop("sys.menu.manager.edit.title"),
				name:{
					label:$.i18n.prop("sys.menu.manager.name"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.menu.manager.name")])
				},
				icon:{
					label:$.i18n.prop("sys.menu.manager.icon"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.menu.manager.icon")])
				},
				router:{
					label:$.i18n.prop("sys.menu.manager.router"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.menu.manager.router")])
				},
				i18n:{
					label:$.i18n.prop("sys.menu.manager.i18n"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.menu.manager.i18n")])
				},
				sort:{
					label:$.i18n.prop("sys.sort"),
					placeholder:$.i18n.prop("sys.placeholder", [$.i18n.prop("sys.sort")]),
					value: 1
					
				},
				button:{
					reset: $.i18n.prop("sys.reset"),
					submit: $.i18n.prop("sys.submit")
				}
			},
			methods: {
				init: function(data) {
					var me = this;
					params = data;
					node = params.node;
					validator.blur($(this.$el).find("form"));
					this.reset();
				},
				reset: function() {
					$(this.$el).find("form").get(0).reset();
					$(this.$el).find("form").setFormValue(node);
					this.sort.value = node.sort;
				},
				submit : function() {
					var me = this;
					var form = $(this.$el).find("form");
					if(form.validate()) {
						this.loading();
						form.ajaxSubmit(function(data) {
							me.loading("close");
							if(data.success) {
								$.extend(node, data.message);
								params.updateNode(node);
								me.closeWindow();
							}
						});
					}
				},
				destroy: function() {
					
				}
			}
		}
	}
});